<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script type="module">
    // 1
    // import {a,b,c} from "./module/mo1.js";
    // console.log(a,b,c);// 1 2 3

    // 2
    // import * as mo2 from "./module/mo2.js";
    // console.log(mo2.a,mo2.b)

    // 3
    // import {a,b,fn} from "./module/mo3.js";
    // fn();
    // console.log(a,b);

    // 4
    // import {a,b} from "./module/mo1.js";
    // import {a as aa,b as bb} from "./module/mo4.js";
    //
    // console.log(a,b,aa,bb);

    // 5
    // import {a,b,c,d} from "./module/mo5.js";
    //
    // console.log(a,b,c,d);

    // 6
    // import suibian from "./module/mo6.js";
    //
    // console.log(suibian)

    // 7
    // import suibian,{userName,age} from "./module/mo7.js";
    //
    // console.log(userName,age,suibian.a,suibian.b,suibian.c);

    // 8
    // import lala,{aa,c,d} from "./module/mo8.js";
    //
    // console.log(aa,c,d,lala);

    // 9
    // from右侧是字符串
    // let str = "./module/mo9.js"
    // import {a} from str;
    //
    // console.log(a);

    // 函数中不允许使用import xxx from xxxx
    // function fn(){
    //     import {a} from "./module/mo9.js";
    // }
    // fn();

    // 10- 省略from
    // import "./module/mo10.js";
    // const obj = {};
    // console.log(obj.fn());

    // 11- 动态
    // const result = import("./module/mo11.js");
    // result.then(value=>{
    //     console.log(value.a);
    // })
    // const value = await result;
    // console.log(value.a);

    // const {a} = await import("./module/mo11.js");
    // console.log(a);

    // const result = await import("./module/mo11.js");
    // console.log(result.a,result.default);

    // const {a,default:bb} = await import("./module/mo11.js");
    // console.log(a,bb);

    // let pathStr = "./module/mo11.js";
    // const result = await import(pathStr);
    // console.log(result.a,result.default)

    // const m = ()=>import("./module/mo11.js");
    // m().then(value=>{
    //     console.log(value.a);
    // })

    // 12- 注意：在第一次引入模块时，模块中的代码会执行，
    //    并将导出（暴露）的数据进行缓存，如果第二次引入该模块，
    //    那么该模块不会再次执行，会将第一次缓存的内容进行导出。
    import obj, {userName} from "./module/mo12.js";
    import obj2,{userName as aa} from "./module/mo12.js";
    console.log(obj===obj2);


</script>
</html>